<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      #root {
        width: 100vw;
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        flex-wrap: wrap;
      }
    </style>
    <script src="../js/vue.js" type="text/javascript"></script>
  </head>
  <body>
    <div id="root">
      <h2>欢迎来到{{name}}</h2>

      <!-- v-show -->
      <div v-show="show">我刚刚躲起来了</div>

      <!-- v-if -->
      <div v-if="show">true</div>
      <!-- v-else -->
      <div v-else>false</div>

      <!-- template 不会生成标签与react中的Fragment 类似，所以不能与v-show配合使用，只能与v-if v-else-if v-else 配合使用 -->
      <template v-if="show">
        <div>我刚刚躲起来了</div>
        <div>我刚刚躲起来了</div>
      </template>

      <button @click="toggleShow">切换是否显示</button>

      <!-- v-if v-else-if v-else -->
      <div v-if="n==1">1</div>
      <div v-else-if="n==2">2</div>
      <div v-else-if="n==3">3</div>
      <div v-else-if="n==4">4</div>
      <div v-else>其他</div>
      <button @click="n++">点我</button>
    </div>

    <script type="text/javascript">
      new Vue({
        el: "#root",
        data: {
          name: "Vue 条件渲染",
          show: true,
          n: 0,
        },
        methods: {
          toggleShow() {
            this.show = !this.show;
          },
        },
      });
    </script>
  </body>
</html>
